(1) Field of the Invention
The present invention relates to a system for restructuring an input/output control system having a plurality of input/output controllers when a situation arises which requires that one of the input/output controllers be in an off-line state.
The system according to the present invention is applicable to an input/output control system having a plurality of input/output controllers, wherein each of the input/output controllers respectively connects a group of peripheral devices in a lower level and a data processing apparatus in an upper level, and controls data transfer operations between each of the corresponding groups of peripheral devices and the data processing apparatus. Each group of peripheral devices which corresponds to one of the input/output controllers is also connected to the other input/output controller, so as to realize a cross call function.
(2) Description of the Related Art
In an information processing system, an input/output control system is provided to control the data transfer operation between the data processing apparatus (or system) and the peripheral devices which handle data used in the data processing apparatus (or system), e.g., magnetic disk devices or magnetic tape devices as external memory devices.
Often, a large number of external memory devices are connected to one or more data processing apparatuses (or systems). Therefore, a plurality of input/output controllers are provided to constitute an input/output control system.
Further, a cross call function is used in the input/output control system to improve an efficiency of access to the external memory devices. The cross call function enables the data processing apparatus (or system) to access a peripheral device through an input/output controller other than the input/output controller by which the peripheral device is usually controlled, when the input/output controller which usually controls the peripheral device is busy with a control operation for the other peripheral device.
FIG. 1 shows an example of the construction of an input/output control system.
In FIG. 1, reference numerals 10 and 20 each denotes a magnetic tape device controller as an input/output controller, and 11.sub.1, 11.sub.2, 11.sub.3, . . . , 21.sub.1, 21.sub.2, 21.sub.3, . . . each denotes a port which connects to an input/output channel (not shown) of one or a plurality of data processing apparatuses (or systems) in the upper level, e.g. a host computer. Reference numeral 3 denotes a data path between the magnetic tape device controllers 10 and 20, and reference numeral 4 denotes control lines connecting the magnetic tape device controllers 10 and 20. Reference numerals 15.sub.1, 15.sub.2, 15.sub.3, . . . , 25.sub.1, 25.sub.2, 25.sub.3, . . . denote a magnetic tape device as an external memory device, 13 denotes a bus connecting the magnetic tape device controller 10 and the magnetic tape devices 15.sub.1, 15.sub.2, 15.sub.3, . . . , reference numeral 23 denotes a bus connecting the magnetic tape device controller 20 and the magnetic tape devices 25.sub.1, 25.sub.2, 25.sub. 3, . . . , reference numeral 14 denotes a bus connecting the magnetic tape device controller 10 and the magnetic tape devices 25.sub.1, 25.sub.2, 25.sub.3, . . . , reference numeral 24 denotes a bus connecting the magnetic tape device controller 20 and the magnetic tape devices 15.sub.1, 15.sub.2, 15.sub.3, . . . , and reference numerals 12 and 22 each denote a port which connects the corresponding magnetic tape device controller 10, 20 to the magnetic tape devices 15, 25.
In the construction as shown in FIG. 1, usually, the magnetic tape devices 15.sub.1, 15.sub.2, 15.sub.3, . . . are under the control of the magnetic tape device controller 10, and the magnetic tape devices 25.sub.1, 25.sub.2, 25.sub.3, . . . are under the control of the magnetic tape device controller 20. Therefore, the magnetic tape device controller 10 holds control data which is used for the input/output control of the magnetic tape devices 15.sub.1, 15.sub.2, 15.sub.3, . . . , and the magnetic tape device controller 20 holds control data which is used for the input/output control of the magnetic tape devices 25.sub.1, 25.sub.2, 25.sub.3, . . . .
The cross call function operates i the above construction as follows. When a magnetic tape device controller 10 or 20 receives an input/output (I/O) command to access a magnetic tape device which is usually under the control of the magnetic tape device controller 10 or 20 from an input/output channel of a data processing apparatus (or system) in the upper level through one of the plurality of ports 11.sub.1, 11.sub.2, 11.sub.3, . . . , 21.sub.1, 21.sub.2, 21.sub.3, . . . , the magnetic tape device controller sets a flag indicating the magnetic tape device is accessed, and starts an operation of input/output control for the input/output (I/O) command.
While a magnetic tape device controller is performing the operation of input/output control for an input/output (I/O) command, the magnetic tape device controller can not carry out other control operations for another input/output (I/O) command. In the above situation, the cross call function operates.
Namely, if a request to access a magnetic tape device is provided over the input/output channel of a data processing apparatus to the magnetic tape device controller 10 which is busy with the control operation for another input/output (I/O) command then, the input/output channel sends the input/output (I/O) command to the other magnetic tape device controller 20.
When the magnetic tape device controller 20 receives the input/output (I/O) command, the magnetic tape device controller 20 realizes that the input/output (I/O) command is not requesting the magnetic tape devices under its own magnetic tape device controller 20, and inquires of the other magnetic tape device controller 10 whether or not the magnetic tape device requested for access is busy.
When the magnetic tape device controller 10 receives the above inquiry from the other magnetic tape device controller 20, the magnetic tape device controller 10 checks a flag table which includes flags indicating whether or not each magnetic tape device under the control of its own magnetic tape device controller 10 is busy. If the magnetic tape device requested is not busy, the magnetic tape device controller 10 steps the flag of the magnetic tape device, and then informs the other magnetic tape device controller 20 which has output the inquiry, that the requested magnetic tape device is available.
When the magnetic tape device controller 20 receives the above information of the availability of the magnetic tape device, ti starts an input/output control operation for the input/output (I/O) command using necessary control data for the magnetic tape device. Although the control data is usually held in the magnetic tape device controller 10, it is sent from the magnetic tape device controller 10 to the magnetic tape device controller 20.
When the control operation by the magnetic tape device controller 20 is completed, the magnetic tape device controller 20 informs the other magnetic tape device controller 10 of the completion of the operation, and the magnetic tape device controller 10 resets the flag for the magnetic tape device, and thus the cross call operation is completed.
As mentioned above, in the conventional input/output control system, while one (called first) input/output controller (magnetic tape device controller) controls data transfer between a data processing apparatus (or system) in the upper level and a peripheral device (magnetic tape device) which is usually under the control of the other (called second) input/output controller (magnetic tape device controller), the cooperation of the second input/output controller (magnetic tape device controller) is resetting the flag for the requested peripheral device (magnetic tape device), and communicating with the first input/output controller (magnetic tape device controller).
The above cooperation is possible only when the input/output controller (magnetic tape device controller) which holds control data including the above-mentioned flags for the peripheral device (magnetic tape device), is in an ON state during the cross call operation.
However, sometimes a situation may arise that requires its own input/output controller to be in an off-line state, for example, when a malfunction has occurred in tis own input/output controller, when its own input/output controller is order to be in an off-line state, or when its own input/output controller is ordered to power off.
Thus, in the prior art, the cross call function cannot operate in these situations because an access to a peripheral device under the control of the input/output controller which is in an off-line state is impossible.